package modelo;

import controlador.Controlador;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.List;
import modelo.entidades.Entidad;

public interface Modelo <C extends Controlador, T extends Entidad, K extends Serializable>{
    C getController();
    void setController(C controlador);

    void nuevaEntidad(T entidad) throws SQLException, Exception;
    T obtenerEntidad(K pk) throws SQLException, Exception;
    void eliminarEntidad(T entidad) throws SQLException, Exception;
    void actualizarEntidad(T entidad) throws SQLException, Exception;
    List<T> listar() throws SQLException, Exception;
}
